/**
 * ContinousSubsequence.java created by zhangzhidong 
 * at 下午9:56:19 2015年9月30日
 */
package homework;

import java.util.ArrayList;
import java.util.List;

/**
 * 
 * 把一个包含n个正整数的序列划分成m个连续的子序列,每个整数刚好属于一个序列<br>
 * 设第i个序列的各数之和是S(i).要求:让所有的s(i)的最大值尽量小,例如:序<br>
 * 列1,2,3,2,5,4 划分成三个子序列最优方案是123|25|4,s(1)=6,<br>
 * s(2)=7,s(3)=4.如果划分成12|32|54 最大的是s(i)=9,不是最优,其中<br>
 * n<10^6所有数之和不超过10^9
 * @author Alex
 *
 */
public class ContinousSubsequence {

	/**
	 * 下午9:56:19 2015年9月30日
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Object [] result  = de(new int[]{1,2,3},0,2,3); 
		for(int i =0;i<result.length;i++){
			System.out.print(result[i]);
		};
	}
	/**
	 * 
	 * 下午10:01:53 2015年9月30日
	 * @param arr 需要被划分的序列
	 * @param num 划分成几个
	 */
	public static Object[] de(int []arr,int begin ,int end,int num){
		
		//数据的总个数小于划分成为的序列数,则返回
		if(end-begin+1<num){
			return null;
		}
		if(end-begin+1==num){
			List<Integer> list = new ArrayList<Integer>();
			for(int i=begin;i<end;i++){
				list.add(i);
			}
			return (list.toArray());
		}
		
		
		
		return null;
		
		
		
	}

}
